package com.hxkj.service;

import com.github.pagehelper.PageInfo;
import com.hxkj.domain.po.Column;
import com.hxkj.domain.po.Navigation;
import com.hxkj.domain.po.NavigationTree;
import com.platform.common.domain.result.ResultDataStruct;
import com.platform.common.domain.result.ResultMessageStruct;
import com.platform.common.domain.to.PageTo;

import java.util.List;
import java.util.Map;

/**
 * 导航栏Service
 * <p>
 * Created by chenfangzhou on 2018/5/15.
 */
public interface NavigationService {

    /**
     * 保存导航栏
     *
     * @param navigation
     * @return
     * @throws Exception
     */
    ResultDataStruct saveNavigation(Navigation navigation) throws Exception;

    /**
     * 获取单个导航栏
     *
     * @param
     * @return
     * @throws Exception
     */
    ResultDataStruct<Navigation> getNavigation(Navigation navigation) throws Exception;


    /**
     * 获取导航栏列表
     *
     * @return
     * @throws Exception
     */
    ResultDataStruct<List<NavigationTree>> getNavigationList(Navigation navigation) throws Exception;


    /**
     * 更新导航栏
     *
     * @param navigation
     */
    ResultMessageStruct updateNavigation(Navigation navigation);

    /**
     * 删除导航栏
     *
     * @param navigation
     */
    ResultMessageStruct deleteNavigation(Navigation navigation);

    /**
     * 更新排序
     *
     * @param map 功能信息
     * @throws Exception
     */
    ResultMessageStruct modifyOrderId(Map<String,Object> map)throws Exception ;

    ResultDataStruct<List<Navigation>> getList(Navigation navigation);

    ResultMessageStruct deleteByPrimarykey(Long navigationId);

    /**
    * @author Mr.zheng
    * @Description saveColumnToNavigation 将分类新增到导航栏
    * @Date 16:04 2018/7/26
    * @Param [column]
    * @return com.platform.common.domain.result.ResultMessageStruct
    **/
    ResultMessageStruct saveColumnToNavigation(Column column) throws Exception;
}
